home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / makefile.txt < prev    next >
Makefile  |  1993-07-21  |  10KB  |  324 lines

  1. # *************************************************************************
  2. # *                                                                       *
  3. # *  Makefile for                                                         *
  4. # *                                                                       *
  5. # *  Compiler Construction Tool Box                                       *
  6. # *  ==============================                                       *
  7. # *                                                                       *
  8. # *  Copyright (c) 1989, 1990, 1991, 1992 by                              *
  9. # *                                                                       *
  10. # *  Gesellschaft fuer Mathematik und Datenverarbeitung                   *
  11. # *  (German National Research Center for Computer Science)               *
  12. # *  Forschungsstelle fuer Programmstrukturen                             *
  13. # *  an der Universitaet Karlsruhe                                        *
  14. # *                                                                       *
  15. # *  All rights reserved. GMD assumes no responsibility for the use       *
  16. # *  or reliability of its software.                                      *
  17. # *                                                                       *
  18. # *************************************************************************
  19.  
  20. # Choose a suitable C compiler
  21. CC    = cc
  22.  
  23. # Choose optimizer flags for the C compiler
  24. OPT    =
  25.  
  26. # Choose a suitable Modula compiler
  27. # MC or M2C
  28. MC    = MC
  29.  
  30. # BSD needs this
  31. MAKE    = make
  32.  
  33. # The place to install the binaries
  34. BIN    = $(HOME)/bin
  35.  
  36. # The libraries go there
  37. LIB    = $(HOME)/lib
  38.  
  39. # Directory for man pages
  40. MANDIR    = $(HOME)/lib
  41.  
  42. # Where to put include files for reuse
  43. INCDIR    = $(LIB)/include
  44.  
  45. # The following targets are legal:
  46. # PCS10
  47. # PCS20
  48. # SUN (also valid for DECstations and VAX)
  49. TARGET    = SUN
  50.  
  51. # For PCS10 you must define
  52. # OPT = "-DPCS10"
  53.  
  54. # Choose the source language:
  55. LANGUAGE = c
  56. # LANGUAGE = modula
  57.  
  58. # ****************************************************************
  59. # *    DON'T CHANGE ANYTHING BELOW THIS LINE !
  60. # ****************************************************************
  61.  
  62. MFLAGS    = BIN=$(BIN) LIB=$(LIB) CC=$(CC) OPT=$(OPT) MC=$(MC)
  63.  
  64. CTARGETS = \
  65.     reuselib \
  66.     c_reuse \
  67.     c_common \
  68.     c_rex \
  69.     c_front \
  70.     c_bnf \
  71.     c_ell \
  72.     c_lalr \
  73.     c_l2r \
  74.     c_y2l \
  75.     c_r2l \
  76.     c_rpp \
  77.     c_cg \
  78.     c_puma \
  79.     c_estra
  80.  
  81. MTARGETS = \
  82.     reuselib \
  83.     m_reuse \
  84.     m_common \
  85.     m_rex \
  86.     m_front \
  87.     m_bnf \
  88.     m_ell \
  89.     m_lalr \
  90.     c_l2r \
  91.     c_y2l \
  92.     m_r2l \
  93.     m_rpp \
  94.     m_cg \
  95.     m_puma \
  96.     m_mpp \
  97.     m_estra
  98.  
  99. all:    $(LANGUAGE)
  100.  
  101. install:    install$(LANGUAGE)
  102.  
  103. reuselib:
  104.     @echo; echo "Making public reuse library"
  105.     cd reuse/c; $(MAKE) $(MFLAGS) TARGET=$(TARGET)
  106.  
  107. c:    $(CTARGETS)
  108.  
  109. c_reuse:
  110.     @echo; echo "Making local reuse library"
  111.     cd reuse/m2c; $(MAKE) $(MFLAGS)
  112. c_common:
  113.     @echo; echo "Making common"
  114.     cd common/m2c; $(MAKE) $(MFLAGS)
  115. c_rex:
  116.     @echo; echo "Making rex"
  117.     cd rex/m2c; $(MAKE) $(MFLAGS)
  118. c_front:
  119.     @echo; echo "Making front"
  120.     cd front/m2c; $(MAKE) $(MFLAGS)
  121. c_bnf:
  122.     @echo; echo "Making bnf"
  123.     cd bnf/m2c; $(MAKE) $(MFLAGS)
  124. c_ell:
  125.     @echo; echo "Making ell"
  126.     cd ell/m2c; $(MAKE) $(MFLAGS)
  127. c_lalr:
  128.     @echo; echo "Making lalr"
  129.     cd lalr/m2c; $(MAKE) $(MFLAGS)
  130. c_l2r:
  131.     @echo; echo "Making l2r"
  132.     cd l2r; $(MAKE) $(MFLAGS)
  133. c_y2l:
  134.     @echo; echo "Making y2l"
  135.     cd y2l; $(MAKE) $(MFLAGS)
  136. c_r2l:
  137.     @echo; echo "Making r2l"
  138.     cd r2l/m2c; $(MAKE) $(MFLAGS)
  139. c_rpp:
  140.     @echo; echo "Making rpp"
  141.     cd rpp/m2c; $(MAKE) $(MFLAGS)
  142. c_cg:
  143.     @echo; echo "Making cg"
  144.     cd cg/m2c; $(MAKE) $(MFLAGS)
  145. c_puma:
  146.     @echo; echo "Making puma"
  147.     cd puma/m2c; $(MAKE) $(MFLAGS)
  148. c_estra:
  149.     @echo; echo "Making estra"
  150.     cd estra/m2c; $(MAKE) $(MFLAGS)
  151.  
  152. installc:    c_reuse c_common
  153.     sh -c "if test ! -d $(BIN); then mkdir $(BIN); else true; fi"
  154.     sh -c "if test ! -d $(LIB); then mkdir $(LIB); else true; fi"
  155.     sh -c "if test ! -d $(MANDIR); then mkdir $(MANDIR); else true; fi"
  156.     sh -c "if test ! -d $(INCDIR); then mkdir $(INCDIR); else true; fi"
  157.     cd reuse/c    ; $(MAKE) install $(MFLAGS) TARGET=$(TARGET) INCDIR=$(INCDIR)
  158.     cd rex/m2c    ; $(MAKE) install $(MFLAGS)
  159.     cd front/m2c    ; $(MAKE) install $(MFLAGS)
  160.     cd bnf/m2c    ; $(MAKE) install $(MFLAGS)
  161.     cd ell/m2c    ; $(MAKE) install $(MFLAGS)
  162.     cd lalr/m2c    ; $(MAKE) install $(MFLAGS)
  163.     cd front/doc    ; $(MAKE) install $(MFLAGS)
  164.     cd l2r        ; $(MAKE) install $(MFLAGS)
  165.     cd y2l        ; $(MAKE) install $(MFLAGS)
  166.     cd r2l/m2c    ; $(MAKE) install $(MFLAGS)
  167.     cd rpp/m2c    ; $(MAKE) install $(MFLAGS)
  168.     cd cg/m2c    ; $(MAKE) install $(MFLAGS)
  169.     cd puma/m2c    ; $(MAKE) install $(MFLAGS)
  170.     cd estra/m2c    ; $(MAKE) install $(MFLAGS)
  171.     cd man; cp * $(MANDIR); chmod a+r $(MANDIR)/*.1
  172.  
  173.  
  174. modula:    $(MTARGETS)
  175.  
  176. m_reuse:
  177.     @echo; echo "Making local reuse library"
  178.     cd reuse/src; $(MAKE) $(MFLAGS)
  179. m_common:
  180.     @echo; echo "Making common"
  181.     cd common/src; $(MAKE) $(MFLAGS)
  182. m_rex:
  183.     @echo; echo "Making rex"
  184.     cd rex/src; $(MAKE) $(MFLAGS)
  185. m_front:
  186.     @echo; echo "Making front"
  187.     cd front/src; $(MAKE) $(MFLAGS)
  188. m_bnf:
  189.     @echo; echo "Making bnf"
  190.     cd bnf/src; $(MAKE) $(MFLAGS)
  191. m_ell:
  192.     @echo; echo "Making ell"
  193.     cd ell/src; $(MAKE) $(MFLAGS)
  194. m_lalr:
  195.     @echo; echo "Making lalr"
  196.     cd lalr/src; $(MAKE) $(MFLAGS)
  197. m_r2l:
  198.     @echo; echo "Making r2l"
  199.     cd r2l/src; $(MAKE) $(MFLAGS)
  200. m_rpp:
  201.     @echo; echo "Making rpp"
  202.     cd rpp/src; $(MAKE) $(MFLAGS)
  203. m_cg:
  204.     @echo; echo "Making cg"
  205.     cd cg/src; $(MAKE) $(MFLAGS)
  206. m_puma:
  207.     @echo; echo "Making puma"
  208.     cd puma/src; $(MAKE) $(MFLAGS)
  209. m_mpp:
  210.     @echo; echo "Making mpp"
  211.     cd mpp/src; $(MAKE) $(MFLAGS)
  212. m_estra:
  213.     @echo; echo "Making estra"
  214.     cd estra/src; $(MAKE) $(MFLAGS)
  215.  
  216. installmodula:    m_reuse m_common
  217.     sh -c "if test ! -d $(BIN); then mkdir $(BIN); else true; fi"
  218.     sh -c "if test ! -d $(LIB); then mkdir $(LIB); else true; fi"
  219.     sh -c "if test ! -d $(MANDIR); then mkdir $(MANDIR); else true; fi"
  220.     sh -c "if test ! -d $(INCDIR); then mkdir $(INCDIR); else true; fi"
  221.     cd reuse/c    ; $(MAKE) install $(MFLAGS) TARGET=$(TARGET) INCDIR=$(INCDIR)
  222.     cd rex/src    ; $(MAKE) install $(MFLAGS)
  223.     cd front/src    ; $(MAKE) install $(MFLAGS)
  224.     cd bnf/src    ; $(MAKE) install $(MFLAGS)
  225.     cd ell/src    ; $(MAKE) install $(MFLAGS)
  226.     cd lalr/src    ; $(MAKE) install $(MFLAGS)
  227.     cd front/doc    ; $(MAKE) install $(MFLAGS)
  228.     cd l2r        ; $(MAKE) install $(MFLAGS)
  229.     cd y2l        ; $(MAKE) install $(MFLAGS)
  230.     cd r2l/src    ; $(MAKE) install $(MFLAGS)
  231.     cd rpp/src    ; $(MAKE) install $(MFLAGS)
  232.     cd cg/src    ; $(MAKE) install $(MFLAGS)
  233.     cd puma/src    ; $(MAKE) install $(MFLAGS)
  234.     cd mpp/src    ; $(MAKE) install $(MFLAGS)
  235.     cd estra/src    ; $(MAKE) install $(MFLAGS)
  236.     cd man; cp * $(MANDIR); chmod a+r $(MANDIR)/*.1
  237.  
  238. endian:
  239.     cd hexa        ; $(MAKE) endian; endian
  240.  
  241. bin.conv:
  242.     -cd cg/m2c    ; $(MAKE) bin.conv
  243.     -cd cg/src    ; $(MAKE) bin.conv
  244.     -cd ell/m2c    ; $(MAKE) bin.conv
  245.     -cd ell/src    ; $(MAKE) bin.conv
  246.     -cd estra/m2c    ; $(MAKE) bin.conv
  247.     -cd front/m2c    ; $(MAKE) bin.conv
  248.     -cd front/src    ; $(MAKE) bin.conv
  249.     -cd puma/m2c    ; $(MAKE) bin.conv
  250.     -cd puma/src    ; $(MAKE) bin.conv
  251.     -cd r2l/m2c    ; $(MAKE) bin.conv
  252.     -cd rex/m2c    ; $(MAKE) bin.conv
  253.     -cd rex/src    ; $(MAKE) bin.conv
  254.     -cd rpp/m2c    ; $(MAKE) bin.conv
  255.  
  256. test:
  257.     -cd specs/c/ada            ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
  258.     -cd specs/c/c            ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
  259.     -cd specs/c/c++            ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
  260.     -cd specs/c/modula2        ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
  261.     -cd specs/c/modula2.ell        ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
  262.     -cd specs/c/sather        ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
  263.     -cd specs/c/sql            ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
  264.     -cd specs/c/oberon2        ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
  265.     -cd specs/c/minilax        ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR) minilax
  266.     -cd specs/c/wag            ; $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR) minilax
  267.     -cd specs/modula/ada        ; $(MAKE) -i
  268.     -cd specs/modula/modula2    ; $(MAKE) -i
  269.     -cd specs/modula/modula2.ell    ; $(MAKE) -i
  270.     -cd specs/modula/modula3    ; $(MAKE) -i
  271.     -cd specs/modula/oberon        ; $(MAKE) -i
  272.     -cd specs/modula/pascal        ; $(MAKE) -i
  273.     -cd specs/modula/minilax    ; $(MAKE) -i minilax
  274.     -cd specs/modula/wag        ; $(MAKE) -i minilax
  275.  
  276. clean:
  277.     -cd reuse/c            ; $(MAKE) clean
  278.     -cd reuse/src            ; $(MAKE) clean
  279.     -cd common/src            ; $(MAKE) clean
  280.     -cd rex/src            ; $(MAKE) clean
  281.     -cd rex/test            ; $(MAKE) clean
  282.     -cd front/src            ; $(MAKE) clean
  283.     -cd bnf/src            ; $(MAKE) clean
  284.     -cd lalr/src            ; $(MAKE) clean
  285.     -cd ell/src            ; $(MAKE) clean
  286.     -cd l2r                ; $(MAKE) clean
  287.     -cd y2l                ; $(MAKE) clean
  288.     -cd r2l/src            ; $(MAKE) clean
  289.     -cd rpp/src            ; $(MAKE) clean
  290.     -cd cg/src            ; $(MAKE) clean
  291.     -cd puma/src            ; $(MAKE) clean
  292.     -cd mpp/src            ; $(MAKE) clean
  293.     -cd estra/src            ; $(MAKE) clean
  294.     -cd reuse/m2c            ; $(MAKE) clean
  295.     -cd common/m2c            ; $(MAKE) clean
  296.     -cd rex/m2c            ; $(MAKE) clean
  297.     -cd front/m2c            ; $(MAKE) clean
  298.     -cd bnf/m2c            ; $(MAKE) clean
  299.     -cd lalr/m2c            ; $(MAKE) clean
  300.     -cd ell/m2c            ; $(MAKE) clean
  301.     -cd r2l/m2c            ; $(MAKE) clean
  302.     -cd rpp/m2c            ; $(MAKE) clean
  303.     -cd cg/m2c            ; $(MAKE) clean
  304.     -cd puma/m2c            ; $(MAKE) clean
  305.     -cd estra/m2c            ; $(MAKE) clean
  306.     -cd specs/c/ada            ; $(MAKE) clean
  307.     -cd specs/c/c            ; $(MAKE) clean
  308.     -cd specs/c/c++            ; $(MAKE) clean
  309.     -cd specs/c/modula2        ; $(MAKE) clean
  310.     -cd specs/c/modula2.ell        ; $(MAKE) clean
  311.     -cd specs/c/sather        ; $(MAKE) clean
  312.     -cd specs/c/sql            ; $(MAKE) clean
  313.     -cd specs/c/oberon2        ; $(MAKE) clean
  314.     -cd specs/c/minilax        ; $(MAKE) clean
  315.     -cd specs/c/wag            ; $(MAKE) clean
  316.     -cd specs/modula/ada        ; $(MAKE) clean
  317.     -cd specs/modula/modula2    ; $(MAKE) clean
  318.     -cd specs/modula/modula2.ell    ; $(MAKE) clean
  319.     -cd specs/modula/modula3    ; $(MAKE) clean
  320.     -cd specs/modula/oberon        ; $(MAKE) clean
  321.     -cd specs/modula/pascal        ; $(MAKE) clean
  322.     -cd specs/modula/minilax    ; $(MAKE) clean
  323.     -cd specs/modula/wag        ; $(MAKE) clean
  324.